bitkeeper revision 1.1159.223.28 (41f2cea9tkhheORopsoScolnVoBxgw)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Sat, 22 Jan 2005 22:07:37 +0000 (22:07 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Sat, 22 Jan 2005 22:07:37 +0000 (22:07 +0000)
Description: split banner.h
Split banner.h, to make it easier to edit, and more properly fit in with
normal build systems.
Also, inline the rules to actually build figlet.

From: Adam Heath <doogie@brainfood.com>
Signed-off-by: ian.pratt@cl.cam.ac.uk
.rootkeys
xen/Makefile
xen/include/xen/banner.h [new file with mode: 0644]
xen/include/xen/compile.h.in [new file with mode: 0644]

index 0e6a0705b56eab9f1eb62f30949278daf7a422fc..0dca6858e0c107964656470d71f32dbd340729f4 100644 (file)
--- a/.rootkeys
+++ b/.rootkeys
 3ddb79c25UE59iu4JJcbRalx95mvcg xen/include/public/xen.h
 3e397e66m2tO3s-J8Jnr7Ws_tGoPTg xen/include/xen/ac_timer.h
 40715b2epYl2jBbxzz9CI2rgIca7Zg xen/include/xen/acpi.h
+41f2cea7ZvnB9JC4qkiq1K8H7xJw5Q xen/include/xen/banner.h
 3ddb79c0c0cX_DZE209-Bb-Rx1v-Aw xen/include/xen/cache.h
+41f2cea7Yna7xc0X9fyavIjoSFFeVg xen/include/xen/compile.h.in
 3f840f12CkbYSlwMrY2S11Mpyxg7Nw xen/include/xen/compiler.h
 3ddb79c259jh8hE7vre_8NuE7nwNSA xen/include/xen/config.h
 3eb165e0eawr3R-p2ZQtSdLWtLRN_A xen/include/xen/console.h
index b560ac18229c172723028c68144a4cc4c02de28b..df01937245f53131d40c7822b0cb5400602f8dcc 100644 (file)
@@ -35,14 +35,13 @@ dist: install
 clean: tools.clean common.clean drivers.clean arch/$(TARGET_ARCH).clean
        rm -f include/asm *.o $(TARGET)* *~ core include/xen/compile.h
        rm -f include/asm-*/asm-offsets.h
+       rm -f tools/figlet/*.o tools/figlet/figlet
 
 tools.clean common.clean drivers.clean arch/$(TARGET_ARCH).clean : %.clean:
        $(MAKE) -C $* clean
 
-$(TARGET): delete-unfresh-files
+$(TARGET): delete-unfresh-files include/xen/compile.h
        [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
-       $(MAKE) -C tools
-       $(MAKE) include/xen/compile.h
        $(MAKE) -C arch/$(TARGET_ARCH) asm-offsets.s
        $(MAKE) include/asm-$(TARGET_ARCH)/asm-offsets.h
        $(MAKE) -C common
@@ -54,25 +53,30 @@ delete-unfresh-files:
        rm -f include/xen/compile.h common/kernel.o
 
 # compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
-include/xen/compile.h:
-       @LANG=C echo /\* Autogenerated by root Makefile. Do not edit. \*/ > $@
-       @LANG=C echo >> $@
-       @LANG=C echo \#define XEN_COMPILE_DATE \"`date`\" >> $@
-       @LANG=C echo \#define XEN_COMPILE_TIME \"`date +%T`\" >> $@
-       @LANG=C echo \#define XEN_COMPILE_BY \"`whoami`\" >> $@
-       @LANG=C echo \#define XEN_COMPILE_DOMAIN \"`([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) || ([ -x /bin/domainname ] && /bin/domainname || echo [unknown])`\" >> $@
-       @LANG=C echo \#define XEN_COMPILE_HOST \"`hostname`\" >> $@
-       @LANG=C echo \#define XEN_COMPILER \"`$(CC) $(CFLAGS) -v 2>&1 | tail -n 1`\" >> $@
-       @LANG=C echo >> $@
-       @LANG=C echo \#define XEN_VERSION\ \ \ \ \ \ $(XEN_VERSION) >> $@
-       @LANG=C echo \#define XEN_SUBVERSION\ \ \ $(XEN_SUBVERSION) >> $@
-       @LANG=C echo \#define XEN_EXTRAVERSION \"$(XEN_EXTRAVERSION)\" >> $@
-       @LANG=C echo >> $@
-       @LANG=C echo \#define XEN_CHANGESET \"`bk changes -nd':D: :T: :REV: :MD5KEY:' -r+ 2>/dev/null || echo "information unavailable"`\" >> $@
-       @LANG=C echo >> $@
-       @LANG=C echo \#define XEN_BANNER \\ >> $@
-       ( cd ./tools/figlet && ./figlet Xen $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION) 1>>../../$@ )
-       @LANG=C echo >> $@
+include/xen/compile.h: LANG=C
+include/xen/compile.h: include/xen/compile.h.in include/xen/banner.h
+       sed -e 's/@@date@@/$(shell date)/g' \
+           -e 's/@@time@@/$(shell date +%T)/g' \
+           -e 's/@@whoami@@/$(shell whoami)/g' \
+           -e 's/@@domain@@/$(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) || ([ -x /bin/domainname ] && /bin/domainname || echo [unknown]))/g' \
+           -e 's/@@hostname@@/$(shell hostname)/g' \
+           -e 's/@@compiler@@/$(shell $(CC) $(CFLAGS) -v 2>&1 | tail -1)/g' \
+           -e 's/@@version@@/$(XEN_VERSION)/g' \
+           -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
+           -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
+           -e 's/@@changeset@@/$(shell bk changes -nd':D: :T: :REV: :MD5KEY:' -r+ 2>/dev/null || echo information unavailable)/g' \
+           < include/xen/compile.h.in > $@.new
+       cat include/xen/banner.h >> $@.new
+       mv $@.new $@
+
+tools/figlet/figlet: tools/figlet/figlet.o
+       $(CC) -o $@ $<
+tools/figlet/figlet.o: tools/figlet/figlet.c
+       $(CC) -o $@ -c $<
+
+include/xen/banner.h: tools/figlet/figlet tools/figlet/xen.flf
+       tools/figlet/figlet -d tools/figlet Xen $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION) > $@.new
+       mv $@.new $@
 
 include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
        @(set -e; \
diff --git a/xen/include/xen/banner.h b/xen/include/xen/banner.h
new file mode 100644 (file)
index 0000000..f9d5f90
--- /dev/null
@@ -0,0 +1,12 @@
+"\040\137\137\040\040\137\137\040\040\040\040\040\040\040\040\040\040\040" \
+"\040\137\137\137\137\040\040\040\040\137\137\137\040\040\012\040\134\040" \
+"\134\057\040\057\137\137\137\040\137\040\137\137\040\040\040\174\137\137" \
+"\137\040\134\040\040\057\040\137\040\134\040\012\040\040\134\040\040\057" \
+"\057\040\137\040\134\040\047\137\040\134\040\040\040\040\137\137\051\040" \
+"\174\174\040\174\040\174\040\174\012\040\040\057\040\040\134\040\040\137" \
+"\137\057\040\174\040\174\040\174\040\040\057\040\137\137\057\040\174\040" \
+"\174\137\174\040\174\012\040\057\137\057\134\137\134\137\137\137\174\137" \
+"\174\040\174\137\174\040\174\137\137\137\137\137\050\137\051\137\137\137" \
+"\057\040\012\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040" \
+"\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\012" \
+
diff --git a/xen/include/xen/compile.h.in b/xen/include/xen/compile.h.in
new file mode 100644 (file)
index 0000000..e517950
--- /dev/null
@@ -0,0 +1,13 @@
+#define XEN_COMPILE_DATE       "@@date@@"
+#define XEN_COMPILE_TIME       "@@time@@"
+#define XEN_COMPILE_BY         "@@whoami@@"
+#define XEN_COMPILE_DOMAIN     "@@domain@@"
+#define XEN_COMPILE_HOST       "@@hostname@@"
+#define XEN_COMPILER           "@@compiler@@"
+
+#define XEN_VERSION            @@version@@
+#define XEN_SUBVERSION         @@subversion@@
+#define XEN_EXTRAVERSION       @@extraversion@@
+
+#define XEN_CHANGESET          "@@changeset@@"
+#define XEN_BANNER             \